package org.cerberus.platform.internal.domain;


public interface IComponentClass {

	String getClassID();
	boolean isRoot();
	boolean isPrimitive();
	boolean isArray();
	boolean isDeclared();
	
	IComponentClassAttribute[] getAttributes();
	
	IComponentClassAttribute getAttribute(String attributeName);
	IComponentClassAttribute[] getDeclaredAttributes();
	
	IComponentClassResource[] getResources();
	IComponentClassResource[] getDeclaredResources();
	
	IComponentClassEvent[] getEvents();
	IComponentClassEvent[] getDeclaredEvents();
	
	IComponentClass getSuperClass();
	
	int getAttributeCount();
	
}
